#ifndef _LUA_TEST_H_
#define _LUA_TEST_H_

#include <stdio.h>
#include <string.h>
#include <lua.h>
#include <lauxlib.h>
#include <lualib.h>

//c函数给lua调用
static int add(lua_State* L){
    int a = luaL_checknumber(L, 1); //检查第1个参数是不是数字， 会尝试强转为数字返回结果
    int b = luaL_checknumber(L, 2);
    int c = a + b;
    lua_pushnumber(L, c);
    return 1;
}


//测试例子
void lua_test(lua_State* L){

    char* lua_code = "print('c func add=', add(12,\"22\"))";
    lua_register(L, "add", add); //注册一个c函数到lua
    int err = luaL_dostring(L, lua_code); //正常返回0 错误返回1
    if(err==1){
        printf("Faild to invoke.\n");
    }

}

#endif